<?php

class Rol{
	public $Id;
	public $Nombre;
	
	function __construct($id, $nombre){
		$this->Id = $id;
		$this->Nombre = $nombre;
	}
	
	static function Listar(){
		global $dbh;
		
		$sql = 'SELECT id, nombre FROM rol';
		$lista = array();
		 
		foreach($dbh->query($sql) as $row) {
			$lista[] = new Rol($row['id'], $row['nombre']);
		}
		
		return $lista;
	}
	
	static function Buscar($texto){
		global $dbh;
		
		$sql = 'SELECT `nombre` FROM `rol` WHERE nombre LIKE "'.$texto.'"';
		$resultado = $dbh->query($sql);
		
		if($resultado->rowCount() > 0){
			return true;	
		}
		else{
			return false;	
		}
		
	}
	
	public function Insertar(){
		global $dbh;
		$sql = 'INSERT INTO  `idiomas` (
				`idioma_id` ,
				`idioma`
				)
				VALUES (
				NULL ,
				\''.$this->nombre.'\'
				)';
				
		$temp_q_id = $dbh->prepare($sql);
		if (!$temp_q_id) {
				echo "\nPDO::errorInfo():\n";		
		}
		$temp_q_id->execute();
					
		$this->id = $dbh->lastInsertId();		
	}
	
	static function Eliminar($id)
	{
		global $dbh;
		
		$sql = "Delete from idiomas where idioma_id = ".$id;
		$temp_q_id = $dbh->prepare($sql);
		if (!$temp_q_id) {
			echo "\nPDO::errorInfo():\n";				
		}
		$temp_q_id->execute();		
	}
	
	static function Actualizar($id,$nombre){
		global $dbh;
		
		$sql = 'UPDATE `idiomas` SET
				`idioma`=\''.$nombre.'\'  
				WHERE 
				`idioma_id`=\''.$id.'\' ';
		
		$temp_q_id = $dbh->prepare($sql);
		if (!$temp_q_id) {
				echo "\nPDO::errorInfo():\n";		
		}
		$temp_q_id->execute();
		
	}
	
	static function Obtener($id){
		global $dbh;
		
		$sql = 'SELECT `id`,`nombre` FROM `rol` WHERE `id` = '.$id;
		
		$obj = NULL;
		foreach($dbh->query($sql) as $row){
			$obj = new Rol($row['id'],$row['nombre']);	
		}
		
		return $obj;
	}
	
	static function AgregarRolAUsuario($idUsuario, $idRol){
		global $dbh;
		
		$sql = 'SELECT `id` FROM `usuario_rol` WHERE `idusuario` = '.$idUsuario.' and idrol = '.$idRol;
		
		$existe = false;
		$id = 0;
		foreach($dbh->query($sql) as $row){
			$existe = true;
		}
		
		if(!$existe){
			$sql = "insert into usuario_rol (idusuario, idrol) values ('".$idUsuario."','".$idRol."')";
			$temp_q_id = $dbh->prepare($sql);
			if (!$temp_q_id) {
					echo "\nPDO::errorInfo():\n";
			}
			$temp_q_id->execute();
		}
	}
	
}
?>